#!/bin/sh

# Copyright 2007 by Denys Vlasenko <vda.linux@googlemail.com>
# Licensed under GPLv2, see file LICENSE in this source tree.

. ./testing.sh

# testing "test name" "command" "expected result" "file input" "stdin"
#   file input will be file called "input"
#   test can create a file "actual" instead of writing to stdout

# Need to call 'rustybox test', otherwise shell builtin is used

testing "test: should be false (1)" \
	"rustybox test; echo \$?" \
	"1\n" \
	"" ""

testing "test '': should be false (1)" \
	"rustybox test ''; echo \$?" \
	"1\n" \
	"" ""

testing "test !: should be true (0)" \
	"rustybox test !; echo \$?" \
	"0\n" \
	"" ""

testing "test a: should be true (0)" \
	"rustybox test a; echo \$?" \
	"0\n" \
	"" ""

testing "[ --help ]: should be true (0)" \
	"rustybox [ --help ]; echo \$?" \
	"0\n" \
	"" ""

testing "[[ --help ]]: should be true (0)" \
	"rustybox [[ --help ]]; echo \$?" \
	"0\n" \
	"" ""

testing "test --help: should be true (0)" \
	"rustybox test --help; echo \$?" \
	"0\n" \
	"" ""

testing "test -f: should be true (0)" \
	"rustybox test -f; echo \$?" \
	"0\n" \
	"" ""

testing "test ! -f: should be false (1)" \
	"rustybox test ! -f; echo \$?" \
	"1\n" \
	"" ""

testing "test a = a: should be true (0)" \
	"rustybox test a = a; echo \$?" \
	"0\n" \
	"" ""

testing "test -lt = -gt: should be false (1)" \
	"rustybox test -lt = -gt; echo \$?" \
	"1\n" \
	"" ""

testing "test a -a !: should be true (0)" \
	"rustybox test a -a !; echo \$?" \
	"0\n" \
	"" ""

testing "test -f = a -o b: should be true (0)" \
	"rustybox test -f = a -o b; echo \$?" \
	"0\n" \
	"" ""

testing "test ! a = b -a ! c = c: should be false (1)" \
	"rustybox test ! a = b -a ! c = c; echo \$?" \
	"1\n" \
	"" ""

testing "test ! a = b -a ! c = d: should be true (0)" \
	"rustybox test ! a = b -a ! c = d; echo \$?" \
	"0\n" \
	"" ""

testing "test '!' = '!': should be true (0)" \
	"rustybox test '!' = '!'; echo \$?" \
	"0\n" \
	"" ""

testing "test '(' = '(': should be true (0)" \
	"rustybox test '(' = '('; echo \$?" \
	"0\n" \
	"" ""

testing "test '!' '!' = '!': should be false (1)" \
	"rustybox test '!' '!' = '!'; echo \$?" \
	"1\n" \
	"" ""

testing "test '!' '(' = '(': should be false (1)" \
	"rustybox test '!' '(' = '('; echo \$?" \
	"1\n" \
	"" ""

exit $FAILCOUNT
